package coupon

import (
	// "bp/cache"
	sqlc "bp/db/sqlc"
	"bp/conf"
	"bp/db"

	"go.uber.org/zap"
)

type CouponEntityServiceImp struct {
	dao  *db.PgDao
	slog *zap.SugaredLogger
	vars *conf.VarsSection
}

// NewCouponEntityService initialization
func NewCouponEntityService(
	pgdao *db.PgDao,
	slog *zap.SugaredLogger,
	vars *conf.VarsSection,
) *CouponEntityServiceImp {
	return &CouponEntityServiceImp{
		dao:  pgdao,
		slog: slog.With("module", "CouponEntityService"),
		vars: vars,
	}
}

type CouponIDToCouponPtrMap = map[int64]*sqlc.Coupon